#!/usr/bin/python
# -*-coding:UTF-8 -*-

# ========================
# @Time  : 2021/2/6
# @Author: Sunny
# ========================

"""
__str__:该方法决定对象被print打印的时候显示的内容

"""
class MyClass:

    def __init__(self,name,age,geder):
        self.name = name
        self.age = age
        self.geder = geder

    # #__str__是一个对象方法，一个实例方法
    # #3.加上此操作后，对象print打印出来，返回值是什么，控制台输出的值就是什么
    # #注意点：该方法必须要写return,并且return返回的内容必须是字符串
    def __str__(self):
        return self.name #正确写法
        # return self.age  #如果是返回age，会报错，因为age是int类型
        # return self.name,self.geder  #这样返回也会报错，因为返回的是一个元组

m1=MyClass('musen1',18,'男')
m2=MyClass('musen2',18,'男')
m3=MyClass('musen3',18,'男')

#1.打印出来的是对象
print(m1)
print(m2)
print(m3)

# 控制台结果：<__main__.MyClass object at 0x0000000001E98E10>

#2.打印出来的是字符串
s1=str(123)
print(s1)

# 控制台结果：1231

#为什么都是类的对象，后者打印出来的不是类的对象？
#是因为对象被print打印的时候显示的内容是有__str__决定的